Code
library(tidyverse)
library(DT)
library(sf)
library(rgdal)
library(raster)
library(terra)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(readr)
library(dplyr)
library(ggplot2)
library(plotly)
library(viridis)
library(devtools)En Costa Rica, hay 6 regiones socioeconomicas, en este documento ~no usaremos ese sentido de las regiones~. la fuente de los datos son dos archivos:
Se muestra los comandos de codigo para cargar librerias y datos a usar en esta tarea.
library(tidyverse)
library(DT)
library(sf)
library(rgdal)
library(raster)
library(terra)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(readr)
library(dplyr)
library(ggplot2)
library(plotly)
library(viridis)
library(devtools)###Regiones
regiones <-
st_read("regiones.geojson", quiet = TRUE)
### 2.1. Mamiferos
mamiferos <-
st_read(
"mamiferos.csv.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude", # columna de longitud decimal
"Y_POSSIBLE_NAMES=decimalLatitude" # columna de latitud decimal
),
quiet = TRUE
)
# Cambio de sistema de coordenadas
regiones <-
regiones |>
st_transform(4326)
st_crs(mamiferos) <- 4326Se unen los datos de regiones y mamiferos para trabajar mejor en ellos y generar graficoss, tablas y mapas para su comprension.
mamiferos_union_region <-
st_join(
x = mamiferos,
y = dplyr::select(regiones, region),
join = st_within
)riqueza_especies_mamiferos <-
mamiferos_union_region |>
st_drop_geometry() |>
group_by(region) |>
summarise(riqueza_especies_mamiferos = n_distinct(species, na.rm = TRUE))region_union_riqueza <-
left_join(
x = regiones,
y = riqueza_especies_mamiferos,
by = "region"
) |>
replace_na(list(riqueza_especies_mamiferos = 0))Se muestra un grafico que compara la cantidad de especies de mamiferos en cada una de las regiones de Costa Rica.
grafico_mamiferos_region <-
riqueza_especies_mamiferos |>
ggplot(aes(x = reorder(region,-riqueza_especies_mamiferos), y = riqueza_especies_mamiferos)) +
geom_bar(stat = "identity", position = "dodge") +
ggtitle("Riqueza de mamíferos en regiones socioeconómicas") +
xlab("Regiones socioeconómicas") +
ylab("Riqueza de mamíferos")+
labs(caption = "Fuente: Ministerio de Planificación (MIDELAN)") +
theme_gray() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
ggplotly(grafico_mamiferos_region)Se muestra un grafico de presencia de peresosos de la especie Bradypus variegatus (perezoso de tres dedos). Esta segun sus observaciones en las regiones de Costa Rica.
perezosos_3dedos <-
mamiferos_union_region |>
filter(year >= 2000) |>
filter(species == "Bradypus variegatus") |>
ggplot(aes(x = year)) +
geom_bar() +
ggtitle("Registro de presencia del Bradypus variegatus (perezoso de tres dedos)
desde el año 2000 hasta el 2023.") +
xlab("Año") +
ylab("Cantidad de perezosos de tres dedos") +
theme_gray()
ggplotly(perezosos_3dedos)Se muestra una tabla de contenidos, en la cual, se ve la cantidad de especies segun las regiones socioeconomicas.
riqueza_especies_mamiferos |>
dplyr::select(region, riqueza_especies_mamiferos) |>
datatable(
colnames = c("Nombre de la región socioeconómica", "Riqueza de especies de mamíferos"),
options = list(
pageLength = 7,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
))# Paleta de colores de riqueza de mamiferos
colores_riqueza_especies <-
colorNumeric(
palette = "blue",
domain = region_union_riqueza$riqueza_especies_mamiferos,
na.color = "transparent"
)
# Paleta de colores de especies
colores_especies <- colorFactor(
palette = viridis(length(unique(mamiferos$species))),
domain = mamiferos$species
)
# Mapa leaflet
leaflet() |>
setView(
lng = -84.19452,
lat = 9.572735,
zoom = 7) |>
addTiles(group = "Mapa general (OpenStreetMap)") |>
addProviderTiles(
providers$Esri.WorldImagery,
group = "Imágenes satelitales (ESRI World Imagery)"
) |>
addPolygons(
data = region_union_riqueza,
fillColor = ~ colores_riqueza_especies(region_union_riqueza$riqueza_especies_mamiferos),
fillOpacity = 0.8,
color = "black",
stroke = TRUE,
weight = 1.0,
popup = paste(
paste("<strong>Riqueza de mamiferos:</strong>", region_union_riqueza$riqueza_especies_mamiferos),
sep = '<br/>'
),
group = "Riqueza de mamiferos"
) |>
addScaleBar(
position = "bottomleft",
options = scaleBarOptions(imperial = FALSE)
) |>
addLegend(
position = "bottomleft",
pal = colores_riqueza_especies,
values = region_union_riqueza$riqueza_especies_mamiferos,
group = "Riqueza de mamiferos",
title = "Riqueza de mamiferos"
) |>
addCircleMarkers(
data = mamiferos,
stroke = F,
radius = 4,
fillColor = ~colores_especies(mamiferos$species),
fillOpacity = 1.0,
popup = paste(
paste0("<strong>Especie: </strong>", mamiferos$species),
paste0("<strong>Localidad: </strong>", mamiferos$locality),
paste0("<strong>Fecha: </strong>", mamiferos$eventDate),
paste0("<strong>Fuente: </strong>", mamiferos$institutionCode),
paste0("<a href='", mamiferos$occurrenceID, "'>Más información</a>"),
sep = '<br/>'
),
group = "Registros de presencia"
) |>
addLayersControl(
baseGroups = c(
"Mapa general (OpenStreetMap)",
"Imágenes satelitales (ESRI World Imagery)"
),
overlayGroups = c(
"Riqueza de mamiferos",
"Registros de presencia"
)
) |>
addResetMapButton() |>
addSearchOSM() |>
addMouseCoordinates() |>
addFullscreenControl() |>
hideGroup("Registros de presencia")